package com.elitel.frame.main.dao.ext;

import java.util.List;
import java.util.Map;

import com.elitel.frame.main.entity.ext.Column;
import com.elitel.frame.main.entity.vo.KeyValueModelVo;
import com.elitel.frame.main.entity.vo.KeyValueModelVoSqlite;

public interface ColumnMapper {

    List<Column> getColumn(String tableName);

    /**
     * show 通过表名称查询其所有列(Oracle数据库)
     *
     * @param tableName(表名称)
     * @return 字段code集合
     * @author guoyanfei
     * @date 2017/12/12
     */
    List<KeyValueModelVo> getFieldCodeBytableNameOracle(String tableName);

    /**
     * show 通过表名称查询其所有列(Mysql数据库)
     *
     * @param tableName(表名称)
     * @return 字段code集合
     * @author guoyanfei
     * @date 2018/04/02
     */
    List<KeyValueModelVo> getFieldCodeBytableNameMysql(String tableName);

    List<KeyValueModelVoSqlite> getFieldCodeBytableNameSqlite(String tableName);

    List<KeyValueModelVo> getFieldCodeBytableNamePG(String tableName);



    /**
     * show 执行查询sql语句
     *
     * @param dtSql(拼接的sql文)
     * @return 查询结果List集合
     * @author guoyanfei
     * @date 2017/12/12
     */
    List<Map<String, Object>> executequerySql(String dtSql);
}
